import { createUniFetch } from 'uni-app-fetch'
import { useUserStore } from '@/stores'

// 配置符合自身业务的请求对象
export const http = createUniFetch({
	loading: { title: '正在加载...' },
	baseURL: 'https://slwl-api.itheima.net',
	intercept: {
		// 请求拦截器
		request(options) {
			const store=useUserStore()
			const token=store.user
			//配置请求头
		   if(token){
				 options.header={
					 Authorization:token
				 }
			 }
      return options
		},
		// 响应拦截器
		response(res) {
			//处理401错误,token失效
			if(res.statusCode===401){
				// 清除token
				const store=useUserStore()
				store.clearStore()
				//跳转登录页面
				reLogin()
			}
      return res.data
		},
	},
})

//定义tabbar的路径
const tabbarPath=[
       'pages/task/index',
        'pages/message/index',
        'pages/my/index'
	]
export const reLogin=()=>{
	//获取页面栈
	const pages=getCurrentPages()
	console.log(pages,333)
	//获取当前页
	const current=pages[pages.length-1]
	//获取完整路径地址
	const fullPath=current.$page.fullPath
	//判断跳转方式是小程序还是普通页面
	const openType=tabbarPath.includes(current.route)?'switchTab':'redirectTo'
	//保存跳转地址到pinia
	const store=useUserStore()
	store.redirectURL=fullPath
	//保存跳转方式pinia
	store.openType=openType
	//跳转登录页面
 uni.redirectTo({
 	url:'/pages/login/index'
 })
}